package common

import (
	"bytes"
	"encoding/base64"
	"fmt"
	"github.com/aliyun/aliyun-oss-go-sdk/oss"
	"io"
	"mime/multipart"
	"os"
)

func AliFile(file *multipart.FileHeader, name string, title string) string {
	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint，以华东1（杭州）为例，填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	client, err := oss.New("https://oss-cn-shanghai.aliyuncs.com", "LTAI5tNfMjdgEGs56WsYd3wE", "qS28K9p1nRCILIK8Cc8lQBMUg6kanj")
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// 填写存储空间名称，例如examplebucket。
	bucket, err := client.Bucket("jiekemu")
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	open, _ := file.Open()
	b, _ := io.ReadAll(open)
	// 依次填写Object的完整路径（例如exampledir/exampleobject.txt）和本地文件的完整路径（例如D:\\localpath\\examplefile.txt）。
	err = bucket.PutObject(name, bytes.NewBuffer(b))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	to := base64.StdEncoding.EncodeToString([]byte(title))
	return "http://jiekemu.oss-cn-shanghai.aliyuncs.com/" + name + "?x-oss-process=image/watermark,text_" + to
}
